// process.stdin.setEncoding('utf8');
////使用read方式触发
// process.stdin.on('readable',()=>{

//     var chunk = process.stdin.read();
//     if(chunk !== null){
//         process.stdout.write(`data:${chunk}`);
//     }
// });


// //使用data方式触发
// process.stdin.on('data',(data)=>{
//     process.stdout.write(data);
// })




//小项目案例  用户密码登入
var users={
        'admin':'123',
        'user1':'321',
        'user2':'231',
    }


var username = '';

//首次提示输入用户名
process.stdout.write('请输入用户名:');

//接受输入数据  input是Object类型
process.stdin.on('data',(input)=>{

    //检测数据类型
    //process.stdout.write(typeof(input));

    //这里原来的input是Object类型需要toString()变成字符串类型在取消控制符(回车)
    input = input.toString().trim();

    //判断用户名是否有值 来判断输入是否正确
    if(!username){
        //没有值情况下
        //检索json字符数组 keys 检索 键   返回的是键的索引
        if(Object.keys(users).indexOf(input) === -1){
            //检索json字符数组 values 检索 值   返回的是值的索引
            //Object.values(users).indexOf(input)  
            //用户名不存在
            process.stdout.write('用户名不存在'+'\n');
            process.stdout.write('请输入用户名:');
        }else{
            //存在
            console.log('用户名存在');
            username = input;
            process.stdout.write('请输入密码:');
        }
    }else{
        //用户名存在情况下 输入密码 进行对比
        if(input != users[username]){
            //密码不正确
            process.stdout.write('密码不正确'+'\n');
            process.stdout.write('请输入密码:');
        }else{    
            //密码正确 登入成功    
            console.log('登入成功');
            process.exit();
        }
    }
    
})

